package br.com.redefranciscanas.wiki.view;

import java.util.List;

import br.com.redefranciscanas.wiki.domain.Funcionario;
import br.com.redefranciscanas.wiki.enumerado.NvlAcesso;
import br.com.redefranciscanas.wiki.persistence.FuncionarioDao;

public class TabelaUserMB {
	private Funcionario selectedUser;
	private FuncionarioDao fdao;
	@SuppressWarnings("unused")
	private List<Funcionario> funcs;
	private Long acesso;
	private String nomeFunc;
	private String nomeUserFunc;
	private String emailFunc;

	public TabelaUserMB() {
		fdao = new FuncionarioDao();
		funcs = fdao.buscaFuncionarios();

	}

	public List<Funcionario> getFuncs() {
		return funcs = fdao.buscaFuncionarios();
	}

	public Funcionario getSelectedUser() {
		return selectedUser;
	}

	public void setSelectedUser(Funcionario selectedUser) {
		this.selectedUser = selectedUser;
	}

	public Long getAcesso() {
		return acesso;
	}

	public void setAcesso(Long acesso) {
		this.acesso = acesso;
	}

	public String getNomeFunc() {
		return nomeFunc;
	}

	public void setNomeFunc(String nomeFunc) {
		this.nomeFunc = nomeFunc;
	}

	public String getNomeUserFunc() {
		return nomeUserFunc;
	}

	public void setNomeUserFunc(String nomeUserFunc) {
		this.nomeUserFunc = nomeUserFunc;
	}

	public String getEmailFunc() {
		return emailFunc;
	}

	public void setEmailFunc(String emailFunc) {
		this.emailFunc = emailFunc;
	}

	public void resetarSenha() {
		selectedUser.setSenha(fdao.senhaPadrao());
		fdao.atualiza(selectedUser);
	}

	public void alterarFunc() {
		if (!nomeFunc.equals("")) {
			selectedUser.setNome(nomeFunc);
		}

		if (!nomeUserFunc.equals("")) {
			selectedUser.setNomeUsuario(nomeUserFunc);
		}
		if (!emailFunc.equals("")) {
			selectedUser.setEmail(emailFunc);
		}

		if (!NvlAcesso.getAcesso(acesso).equals(selectedUser.getNvlAcesso())) {
			selectedUser.setNvlAcesso(NvlAcesso.getAcesso(acesso));
		}
		fdao.atualiza(selectedUser);
		limpa();
	}

	private void limpa() {
		acesso = null;
		nomeFunc = null;
		nomeUserFunc = null;
		emailFunc = null;
	}

}
